Programmable controller

ABSTRACT

A programmable controller for use in controlling a wide variety of external data and production devices and having an extremely flexible stored program capability enabling the device to function as a small-scale computer adapted for use as either a systems controller or as a &#39;&#39;&#39;&#39;stand alone&#39;&#39;&#39;&#39; mini-computer.

United States Patent Shevlin May 1, 1973 [54] PROGRAMMABLE CONTROLLEROTHER PUBLICATIONS lnvemol'l Rob"! Shevnll, Mallhflsset. "DigitalControl Handbook," Digital Equipment Corp., pg. 361+(l97l). [73]Asslgnee' z Corporations Ham "Modicon-The 084 Controller," Modicon Corp.

copyright I97]. [22] Filed: Mar. 16, I972 "PDQ ll-Solid StateProgrammabe Controller" Allen Bradley Co. Bulletin 1760, Sept. 1970.[21] Appl. No.: 235,202

Primary Examiner-Paul J. Henon s21 u.s. Cl. ..34o/112.s 1 gfr 'z g" is11 .oosr 9/06 a e [58] Field of Search ..340/l72.5 [57] ABSTRACT [56]References Cited A programmable controller for use in controlling a widevariety of external data and production devices UNITED STATES PATENTSand having an extremely flexible stored program capability enabling thedevice to function as a small-scale 3,639,911 2/l972 Frleband eta1........,.W......34o/172.5 computer adapted for use as either asystems com 3,602,889 3 1971 Gayman et al. .....340 172.s "on," or as aStand alone" mini compum 3,573,746 4/l97l Robinson et al.........340/l72.5 3,573,853 4/197! Watson et al ..340/l72.5 7 Claims, 26Drawing Figures L MASTEI/CT/Q V 3Q0N6"/($7//Ff 259 375? M5/3 59/ 7%?52/41 a" m ceiMi/rf #2 woes/40v I l mama figzg ggafw ga g? 1; 40.40 5//144 .Sfl/Fl await:

(fifi/V/ZI/VEAJ @5600! m/srewz 014572062 e /srae 5:2 napalm xpwwmzEXTEe/V A? m/aez/fr z/vr (040760 Can/ml ,5

can few M 0:6005 MAM/4e E/V48LE (O/V7801 2/ fli J/VU/lt PC 7 //v 20 LfjZT PQO57AM 22 Zara/Cr m/sreafr/a/v same/.5 [Avg/QM am/ ma be ,Q d W56009? (/5 ant/e3; /2 0504 50) PC //VOEM/V7 g 90; fwl/ {40,40 van/M01/PJ[f- 4) lel I'M/e0 //Q/Z 10,10 //V(IM/V7 L9 (PC 40) (PC Mac) 920 94(07 /5552 k /7 77,80 fig i A29 [4.0.0 04/!) Q gin) PIS/Z q/ he I 65/ I a[A460 f/Mfl/ IW/Et/ 11 AI) 7 H ti W V A. F/i

United States Patent 1 v [111 3,731,280

J12 04' 5a; haw/42152 Patented May 1, 1973 Sheets-Sheet Patented May 1,1973 r?! Sheets-Sheet :1

Patented May 1, 1973 22 Sheets-Sheet .4

Qkwvky O Patented May 1, 1973 :32: Sheets-Sheet 4.

Patented May 1, 1973 2 2 Sheet s-Shee t I WRRQ WM W I Patented May 1,1973 2:: Sheets-Sheet i- 4M 0E MM \TI nuul N M L Patented May 1, 19733,731,280

r: Sheets-Sheet i mw hhh Patented May 1, 1973 "ii Sheets-Sheet Ll..- QmrQmk Patented May 1, 1973 I :1 Sheets-Sheet m l MR INDIA E $1 @1Patented May 1, 1973 22 Sheets-Sheet 10 132'. Sheets-Sheet 1 1 tab 5 m IH Patented May 1, 1973 22 Sheets-Sheet 1::

Patented May 1, 1973 2:2 Sheets-Sheet 13 db mlm qqq Patented May 1, 1973":5 Sheets-Sheet 1 A m l mH Patented May 1, 1973 22 Sheets-Sheet H.

3m RN illl'll'lullll wmlm Patented May 1973 zz Sheets-Sheet 1* m mmPatented May 1, 1973 :13 Sheets-Sheet 1 QNMI IN Patented May 1, 1973 22Sheets-Sheet r

1. A controller comprising: a clock source; instruction sequencer means for sequentially controlling a plurality of controller operations; program counting means for counting program steps, said program counting means including means for storing program steps; instruction register means for storing an instruction word; decoder means for decoding the operation called for in the instruction stored in said instruction register; said sequencer means including a plurality of shift registers each storing a group of sequentially controlled signals; means coupling said decoder means to a selected one of said sequencer registers dependent upon the operation called for by the instruction in said instruction register; said clock means being coupled to said sequencer means for sequentially shifting out the sequential control signals from the selected register; accumulator means; memory means; input-output control means for coupling data from peripheral circuitry to said controller; common bus means having input means coupled to the outputs of said instruction register, said program counter and said memory means; said accumulator means and said input-output control means; said common bus means including output means and multiplexer means for selecting the input to be passed to the output means of said common bus; means coupling said instruction sequencer to said common bus means multiplexer for selecting the input to be passed by the output of said common bus means; means coupled to said instruction sequencer means for selectively coupling the output of said common bus means to one of said memory means, said accumulator means, said instruction register means, program counter means; said accumulator means and said input-output control means selectively in accordance with the sequential control signal developed by said sequencer means.
 2. The controller of claim 1 wherein said instruction sequencer further comprises a fetch register for sequentially developing a plurality of fetch signals when actuated to cause the next program step to be performed; means coupled to the last control signals of selected ones of said sequencer means shift registers for actuating said fetch register.
 3. The controller of claim 2 wherein said input-output control means comprises means coupled to said sequencer means for operating said peripheral circuits.
 4. The controller of claim 2 further comprising: display means means for displaying output information coupled to said input-output control means; printer means including keyboard means coupled to said input-output control means; external data source means coupled to said input-output control means; output recording means coupled to said input-output control means; said input-output control means including means coupled to said sequencer means for transferring the output of said common bus means to one of said printer means, output recording means or display means; said input-output control means further comprising means coupled to said sequencer means selectively coupling one of said external data source means and said printer keyboard means to said common bus for entering data to be converted into said controller.
 5. The controller of claim 4 wherein said keyboard means is adapted to insert characters and other symbols into said controller in binary form; said accumulator means bEing responsive to data from said external data source and said character information for determining the amount of characters which can be accommodated in a line of print; said display means comprising means for displaying the space remaining in the line of print being entered; said recording means being adapted to print an output representing the spacing and positioning of the characters in each line of print for use in controlling a justifier.
 6. The controller of claim 1 further comprising means for scanning an image; means for converting each scanned point of said image into signals each representing one of two binary states; means coupling said converting means to said input-output control means for sequentially entering said signals into said accumulator in groups, each group containing a plurality of said signals; means coupled between said sequencer means and said accumulator means for counting the number of consecutive signals of the same binary state; means coupled to said accumulator means for terminating said count when the next consecutive signal is of the opposite state to start a new count; means coupled between said accumulator and said input-output control means for outputting each completed count in the form of binary signal groups to said input-output means for transmission to a remote location.
 7. The controller of claim 6 further comprising means for receiving the binary signal groups representing said counts; second controller means including means coupled to said receiving means for converting said signal groups into binary signals representing the original form of said binary signals representing said image prints; means coupled to said second controller means for generating a line whose contrast values are determined by the state of the binary signals representing the image points scanned by said scanning means. 